test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
↳ QTRS
↳ DependencyPairsProof
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
APPEND(l1_2, l2_1) → MATCH_0(l1_2, l2_1, l1_2)
MATCH_4(l_5, Cons(a, l')) → MATCH_5(a, l', l_5, part(a, l'))
MATCH_5(a, l', l_5, Pair(l1, l2)) → APPEND(quick(l1), Cons(a, quick(l2)))
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l2)
MATCH_1(a_4, l_3, Cons(x, l')) → MATCH_2(x, l', a_4, l_3, part(a_4, l'))
MATCH_4(l_5, Cons(a, l')) → PART(a, l')
MATCH_2(x, l', a_4, l_3, Pair(l1, l2)) → MATCH_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
QUICK(l_5) → MATCH_4(l_5, l_5)
MATCH_2(x, l', a_4, l_3, Pair(l1, l2)) → TEST(a_4, x)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l1)
MATCH_0(l1_2, l2_1, Cons(x, l)) → APPEND(l, l2_1)
MATCH_1(a_4, l_3, Cons(x, l')) → PART(a_4, l')
PART(a_4, l_3) → MATCH_1(a_4, l_3, l_3)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
APPEND(l1_2, l2_1) → MATCH_0(l1_2, l2_1, l1_2)
MATCH_4(l_5, Cons(a, l')) → MATCH_5(a, l', l_5, part(a, l'))
MATCH_5(a, l', l_5, Pair(l1, l2)) → APPEND(quick(l1), Cons(a, quick(l2)))
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l2)
MATCH_1(a_4, l_3, Cons(x, l')) → MATCH_2(x, l', a_4, l_3, part(a_4, l'))
MATCH_4(l_5, Cons(a, l')) → PART(a, l')
MATCH_2(x, l', a_4, l_3, Pair(l1, l2)) → MATCH_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
QUICK(l_5) → MATCH_4(l_5, l_5)
MATCH_2(x, l', a_4, l_3, Pair(l1, l2)) → TEST(a_4, x)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l1)
MATCH_0(l1_2, l2_1, Cons(x, l)) → APPEND(l, l2_1)
MATCH_1(a_4, l_3, Cons(x, l')) → PART(a_4, l')
PART(a_4, l_3) → MATCH_1(a_4, l_3, l_3)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
MATCH_1(a_4, l_3, Cons(x, l')) → PART(a_4, l')
PART(a_4, l_3) → MATCH_1(a_4, l_3, l_3)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MATCH_1(a_4, l_3, Cons(x, l')) → PART(a_4, l')
Used ordering: Polynomial interpretation [25,35]:
PART(a_4, l_3) → MATCH_1(a_4, l_3, l_3)
The value of delta used in the strict ordering is 1/2.
POL(PART(x1, x2)) = 1/4 + (1/4)x_2
POL(MATCH_1(x1, x2, x3)) = 1/4 + (1/4)x_3
POL(Cons(x1, x2)) = 2 + (2)x_2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
PART(a_4, l_3) → MATCH_1(a_4, l_3, l_3)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
APPEND(l1_2, l2_1) → MATCH_0(l1_2, l2_1, l1_2)
MATCH_0(l1_2, l2_1, Cons(x, l)) → APPEND(l, l2_1)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MATCH_0(l1_2, l2_1, Cons(x, l)) → APPEND(l, l2_1)
Used ordering: Polynomial interpretation [25,35]:
APPEND(l1_2, l2_1) → MATCH_0(l1_2, l2_1, l1_2)
The value of delta used in the strict ordering is 1/8.
POL(Cons(x1, x2)) = 1/2 + (2)x_1 + (2)x_2
POL(APPEND(x1, x2)) = (1/2)x_1
POL(MATCH_0(x1, x2, x3)) = (1/4)x_1 + (1/4)x_3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
APPEND(l1_2, l2_1) → MATCH_0(l1_2, l2_1, l1_2)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
QUICK(l_5) → MATCH_4(l_5, l_5)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l1)
MATCH_4(l_5, Cons(a, l')) → MATCH_5(a, l', l_5, part(a, l'))
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l2)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MATCH_4(l_5, Cons(a, l')) → MATCH_5(a, l', l_5, part(a, l'))
Used ordering: Polynomial interpretation [25,35]:
QUICK(l_5) → MATCH_4(l_5, l_5)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l1)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l2)
The value of delta used in the strict ordering is 1/16.
POL(True) = 0
POL(Cons(x1, x2)) = 1/4 + (4)x_2
POL(test(x1, x2)) = 0
POL(part(x1, x2)) = (4)x_2
POL(Nil) = 0
POL(match_2(x1, x2, x3, x4, x5)) = 1 + (4)x_5
POL(MATCH_4(x1, x2)) = (1/4)x_2
POL(False) = 0
POL(QUICK(x1)) = (1/4)x_1
POL(MATCH_5(x1, x2, x3, x4)) = (1/4)x_4
POL(Pair(x1, x2)) = x_1 + x_2
POL(match_3(x1, x2, x3, x4, x5, x6, x7)) = 1/4 + (4)x_1 + (4)x_2
POL(match_1(x1, x2, x3)) = (4)x_3
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
QUICK(l_5) → MATCH_4(l_5, l_5)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l1)
MATCH_5(a, l', l_5, Pair(l1, l2)) → QUICK(l2)
test(x_0, y) → True
test(x_0, y) → False
append(l1_2, l2_1) → match_0(l1_2, l2_1, l1_2)
match_0(l1_2, l2_1, Nil) → l2_1
match_0(l1_2, l2_1, Cons(x, l)) → Cons(x, append(l, l2_1))
part(a_4, l_3) → match_1(a_4, l_3, l_3)
match_1(a_4, l_3, Nil) → Pair(Nil, Nil)
match_1(a_4, l_3, Cons(x, l')) → match_2(x, l', a_4, l_3, part(a_4, l'))
match_2(x, l', a_4, l_3, Pair(l1, l2)) → match_3(l1, l2, x, l', a_4, l_3, test(a_4, x))
match_3(l1, l2, x, l', a_4, l_3, False) → Pair(Cons(x, l1), l2)
match_3(l1, l2, x, l', a_4, l_3, True) → Pair(l1, Cons(x, l2))
quick(l_5) → match_4(l_5, l_5)
match_4(l_5, Nil) → Nil
match_4(l_5, Cons(a, l')) → match_5(a, l', l_5, part(a, l'))
match_5(a, l', l_5, Pair(l1, l2)) → append(quick(l1), Cons(a, quick(l2)))